package com.example.strategyNew;

import com.example.strategyNew.entity.BankCardAuthRequestBody;
import com.example.strategyNew.entity.BankCardAuthResponseBody;
import com.example.strategyNew.entity.ThirdElementsAuthRequestBody;
import com.example.strategyNew.entity.ThirdElementsAuthResponseBody;

/**
 * 三方服务策略类
 */
public interface ThirdServiceStrategy {
    /**
     * 三要素认证
     * @param requestBody
     * @return
     */
    ThirdElementsAuthResponseBody threeElementsAuth(ThirdElementsAuthRequestBody requestBody);

    /**
     * 银行卡鉴权
     */
    default BankCardAuthResponseBody bankCardAuth(BankCardAuthRequestBody requestBody) {
        return new BankCardAuthResponseBody().status("1111");
    }

    /**
     * 二要素认证
     */
    default void twoElementsAuth() {
        return;
    }

    /**
     * 图片识别
     */
    void ocr();
}
